//
//  HSBasicController.swift
//  HomeSchoolDemo
//
//  Created by Mac on 16/10/8.
//  Copyright © 2016年 chendong. All rights reserved.
//

import UIKit

class HSBasicController: UITableViewController {

    //刷新控件
    let refrshC = CDRefreshControl()
    //记录刷新状态的属性
    var isPull:Bool = false
    
    override func viewDidLoad() {
        super.viewDidLoad()

        //添加刷新控件
        tableView.addSubview(refrshC)
        //设置监听
        refrshC.addTarget(self, action: #selector(loadData), for: .valueChanged)
    }
    
    func loadData() {
        
        self.refrshC.beginRefreshing()
        //模拟延时
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3)
        {[weak self] in
            //结束刷新控件
            self?.refrshC.endRefreshing()
            //
            self?.isPull = false
        }
    }
}

extension HSBasicController{
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        return UITableViewCell()
    }
    //即将显示某行cell时回调
    override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        //print(indexPath)
        //获得当前行号
        let row = indexPath.row
        //获得表格视图的总组数
        let section = tableView.numberOfSections - 1
        //print(section)
        
        if row < 0 || section < 0 {
            return
        }
        
        //获得最后一组的总行数
        let lastRows = tableView.numberOfRows(inSection: section) - 1
        //当前调用的行=表格视图最后一组的zonghais
        if (row == lastRows) && (indexPath.section == section) && !isPull {
            //记录刷新状态
            isPull = true
            //调用数据请求方法
            loadData()
        }
    }
}






